home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / misc / gleichung / gleichung.txt < prev    next >
Encoding:
Text File  |  1993-08-08  |  12.4 KB  |  295 lines

  1.  
  2.                           Gleichung
  3.                           =========
  4.  
  5.  
  6. Rechtliches
  7. -----------
  8.  
  9. Gleichung ist ShareWare, d.h. wer es regelmäßig benutzt, der muß eine
  10. Gebühr an den Autor entrichten. Dafür schlage ich DM 20,- vor, wer mehr
  11. zahlen will darf das gerne tun.... (Adresse am Ende dieser Anleitung).
  12.  
  13.  
  14. !!!!!
  15. Ich übernehme keine Haftung für Schäden, die aus der sach- oder unsach-
  16. gemäßen Benutzung des Programms entstehen !!!!
  17. !!!!!
  18.  
  19.  
  20. Dieses Programm darf (und soll) in Mailboxen und sonstige elektronische 
  21. Netze eingespielt werden. Das Programm darf (und soll) in PD-Disk-Serien
  22. aufgenommen werden, solange der Verkaufspreis je Diskette DM 5,-- 
  23. (oder einen äquivalenten Betrag einer anderen Währung) nicht übersteigt.
  24. Dieses Programm darf (und soll) auf CD's mit PD-Software aufgenommen
  25. werden, solange der Preis je CD DM 60,- (oder einen äquivalenten Betrag 
  26. einer anderen Währung) nicht übersteigt.
  27. Falls jemand dieses Programm auf Disketten/CD's zu einem höheren Preis
  28. vertreiben will, so ist dafür meine schriftliche Erlaubnis erforderlich.
  29.  
  30.  
  31. Einleitung
  32. ==========
  33.  
  34. Aufgabe
  35. -------
  36. GLEICHUNG ist ein Programm zum Lösen linearer Gleichungssysteme. Im
  37. Gegensatz zu ähnlichen Programmen ist GLEICHUNG nicht auf Systeme mit
  38. drei Gleichungen und drei Unbekannten beschränkt, auch muß das System
  39. nicht quadratisch oder eindeutig lösbar sein. GLEICHUNG bearbeitet
  40. Systeme, deren Größe (fast) nur vom Speicher abhängt (in dieser Version
  41. ist die Eingabe auf maximal 9999 Gleichungen mit 9999 Unbekannten beschränkt.
  42. Theoretisch sind bis zu ca. 32000 Gleichungen mit 32000 Unbekannten möglich.
  43. Bei solchen Dimensionen verliert man aber leicht den Überblick).
  44.  
  45. Rechneranforderungen
  46. --------------------
  47. GLEICHUNG benötigt einen Amiga mit Kickstart/Workbench 2.0. Das
  48. Programm sollte mit 512kB laufen, benötigt für größere Gleichungssysteme
  49. aber deutlich mehr Speicher. In LIBS: muß sich die ASL.LIBRARY befinden.
  50.  
  51.  
  52. Das Programm
  53. ============
  54.  
  55. Starten des Programms
  56. ---------------------
  57. Das Programm wird einfach durch einen Doppelclick auf sein Icon gestartet.
  58. Ein Start von der Shell ist zwar möglich, aber nicht empfehlenswert,
  59. da auf diese Art keine weiteren Informationen an das Programm übertragen
  60. werden können.
  61. Das Programm meldet sich sofort nach dem Starten mit einem Fenster, in
  62. dem die Anzahl der Gleichungen und die Anzahl der Variablen abgefragt wird.
  63. Hier gibt man die gewünschten Werte wie gewohnt ein. Wird im oberen Stringgadget
  64. die RETURN-Taste gedrückt, so wird automatisch das zweite Gadget aktiviert.
  65. Wird in diesem die RETURN-Taste gedrückt, so ist das gleichbedeutend mit
  66. der Anwahl von OK.
  67.  
  68. Aufbau des Bildschirms
  69. ----------------------
  70. Im oberen Teil des Bildschirms befindet sich ein Text- und ein Stringgadget.
  71. Das Textgadget zeigt an, was gerade auf dem Bildschirm dargestellt wird (Lösung
  72. des Gleichungssystems, Zeilenstufenform oder Eingabe). Wenn das Stringgadget
  73. eingeschaltet ist, kann hier ein Zahlenwert eingegeben werden.
  74.  
  75. Darunter befindet sich die Fläche, auf der die Werte dargestellt werden.
  76. Unten und rechts sind zwei Rollbalken mit Pfeilen, mit denen durch
  77. größere Systeme gefahren werden kann. Links wird die Nummer der Zeile
  78. angezeigt, oben die Nummer der Spalte oder B für den rechten Teil
  79. der Gleichung.
  80.  
  81. Ein Feld auf der Fläche ist invers hervorgehoben. Dieses Feld kann mit der
  82. Maus und den Cursortasten (auch Shift-Cursor) bewegt werden. Das Ankli"cken
  83. eines Feldes mit der Maus funktioniert natürlich auch. Wenn man sich
  84. im Eingabemodus befindet, dann wird der Wert, der unter dem Kasten steht
  85. auch noch im Eingabegadget oben rechts dargestellt. Wird dann die
  86. RETURN-Taste gedrückt, so wird das Eingabegadget aktiviert und man kann
  87. den Zahlenwert verändern. Wird statt der RETURN-Taste eine Zifferntaste,
  88. Plus, Minus oder der Punkt gedrückt, so wird der angezeigte Wert im Eingabegadget
  89. gelöscht und das gewählte Zeichen als ersten angezeigt. Wird bei aktivierten
  90. Eingabegadget RETURN gedrückt, so wird der veränderte Wert übernommen und
  91. das inverse Feld springt um eins weiter nach rechts (oder in die nächste Zeile,
  92. falls es schon ganz rechts ist).
  93. Befindet man sich nicht im Eingabemodus, so kann man die angezeigten
  94. Werte nicht verändern.
  95.  
  96. Anzeigenmodi
  97. ------------
  98. Das Programm merkt sich das eingegebene Gleichungssystem und kann es jederzeit
  99. wieder darstellen. Außerdem ist es möglich, das Gleichungssystem in
  100. Zeilenstufenform darzustellen. Schließlich kann man sich noch die
  101. Lösung anzeigen lassen. Beim Anzeigen der Lösung wird in der obersten
  102. Zeile (gekennzeichnet als Lsg) eine spezielle Lösung des Gleichungssystems
  103. dargestellt, die weiteren Zeilen geben eine Basis des Lösungsraums für
  104. das homogene System wieder.
  105.  
  106. Der Darstellungsmodus kann mit dem zweiten Menu gewählt werden. Der jeweils
  107. aktive Modus wird markiert und zusätzlich im Textgadget dargestellt. Sollte
  108. das System nicht lösbar sein, so wird dies gemeldet und in den Modus
  109. Zeilenstufenform umgeschaltet.
  110.  
  111. Sollte beim Berechnen der Lösung ein Rechenfehler aufgetreten sein (meistens,
  112. weil die Zahlen zu groß/klein geworden sind), so wird dies ebenfalls
  113. angezeigt und in den Eingabemodus geschaltet.
  114.  
  115.  
  116. Die Menus
  117. ---------
  118.  Projekt
  119.  -------
  120.   Neue Gleichungen
  121.   ----------------
  122. Hier erscheint das gleiche Fenster wie direkt nach dem Start und fragt
  123. nach der neuen Dimension des neuen Gleichungssystems. Mit CANCEL kann
  124. man das alte System noch einmal zurück bekommen.
  125.  
  126.   Anzeigenformat
  127.   --------------
  128. Zum Anzeigen der Werte stehen einem drei Modi zur Verfügung:
  129.  
  130. [Normal : ] Die Zahlen werden in normaler Darstellung ausgegeben. Dabei
  131. werden immer alle Vorkommastellen und die gewünschte Anzahl Nachkommastellen
  132. ausgegeben. Nur für Zahl geeignet, deren Absolutwert etwa zwischen
  133. 0.001 und 9999 liegt.
  134. [Exponential : ] Alle Zahlen werden in Exponentialdarstellung
  135. ausgegeben. Die Anzahl der Nachkommastellen entspricht dem gewünschten Wert.
  136. Für kleine Zahlen (>1) ist diese Darstellung unpraktisch.
  137. [Gemischt : ] Kleine Zahlen werden normal dargestellt, große (bzw.
  138. Zahlen zwischen 0 und 1 mit vielen Nullen nach dem Komma) in Exponentialdarstellung.
  139. Die gewünschte Anzahl Nachkommastellen gibt nicht nur die tatsächliche
  140. Anzahl der Nachkommastellen an (es wird immer eine Stelle weniger angezeigt
  141. als ausgewählt wurde), sondern bestimmt auch, wann eine
  142. Zahl in Exponentialdarstellung dargestellt wird oder nicht.
  143.  
  144. Diese drei Modi kann man in dem erscheinenden Fenster mit dem Cyclegadget
  145. einstellen. Weiterhin kann in diesem Fenster eingegeben werden, wieviele
  146. Stellen insgesamt dargestellt werden sollen (bestimmt die Breite jedes
  147. Feldes auf dem Bildschirm) und wieviele davon als Nachkommastellen. Die
  148. Anzahl Nachkommastellen kann nicht größer werden als die Gesamtzahl.
  149. Sollte durch besonders große Zahlen der Bildschirmaufbau zerstört werden
  150. (passiert leicht im Modus Normal) kann jederzeit dieses Fenster aufgerufen
  151. werden um z.B. die Gesamtzahl neu einzugeben. Das eingegebene Gleichungssyste
  152. geht dadurch NICHT verloren.
  153.  
  154.   Gleichungen laden/speichern
  155.   ---------------------------
  156. Es erscheint der Standart-Filerequester um nach dem Namen des Files
  157. zu fragen. Wird ein Name angegeben, so wird dieses System geladen bzw. das
  158. aktuelle System unter dem Namen abgespeichert. Wird CANCEL angewählt, so
  159. passiert nichts.
  160.  
  161.   Iconify
  162.   -------
  163. Der Bildschirm des Programms wird geschlossen und auf der Workbench erscheint
  164. das Icon des Programms. Durch einen Doppelclick auf das Icon wird der
  165. Bildschirm wieder geöffnet und das alte Gleichungssystem wird wieder
  166. angezeigt (Man landet immer im Eingabemodus).
  167. Dieses Iconify funktioniert nur, wenn das Programm von der
  168. Workbench aus gestartet wurde, da sonst die Information über das Icon
  169. nicht vorhanden ist.
  170.  
  171.   Drucken
  172.   -------
  173. Mit diesem Menupunkt ist es möglich, das Gleichungssystem (jeweils in der
  174. aktuell auf dem Bildschirm dargestellten Form, als Originalsystem, Zeilenstufenform
  175. oder Lösung) auszudru"cken. Dazu erschein zuerst ein Fenster, in dem die
  176. Anzahl Zeilen und Spalten abgefragt wird, die auf eine Seite des
  177. Druckers passen. Danach erscheint das unter {Anzeigen}) beschriebene
  178. Fenster, so daß man die (nur für den Ausdruck gültige) Art der Darstellung
  179. jeder Zahl wählen kann. Schließlich erscheint noch eine Sicherheitsabfrage,
  180. ob auch wirklich gedruckt werden soll. Sollte die Breite oder Höhe
  181. des Blattes zu gering sein (so daß weniger als eine komplette Zahl auf das
  182. Blatt paßt), so wird natürlich nicht ausgedruckt.
  183.  
  184. Um größere Gleichungssysteme in übersichtlicher Form auszudrucken, empfiehlt
  185. es sich, die Schriftart des Druckers so klein wie möglich einzustellen.
  186. Auch sollte die Anzahl der Spalten (die man im ersten Fenster eingibt) nicht
  187. größer sein als (Right Margin - Left Margin) in Prefs/Printer (es wird
  188. über Preferences ausgedruckt, dabei werden die Werte von Preferences nicht
  189. verändert. Der Anwender ist selbst dafür verantwortlich, daß der Drucker
  190. auch so viele Zeichen je Zeile/Zeilen je Blatt darstellen kann, wie
  191. angegeben).
  192.  
  193.   About
  194.   -----
  195. Es erscheint ein Fenster mit Informationen über das Programm und den Autor.
  196. Durch Anwahlt von OK oder durch einen Tastendruck verschwindet das Fenster
  197. wieder.
  198.  
  199.   Ende
  200.   ----
  201. Nach einer Sicherheitsabfrage wird das Programm evt. beendet.
  202.  
  203.  
  204.  Zeige
  205.  -----
  206. Die Items dieses Menus wurden bereits weiter oben erklärt.
  207.  
  208.  Preferences
  209.  -----------
  210. Hier kann der gewünschte Bildschirmmodus (ScreenMode) gewählt werden.
  211. Dies funktioniert nur bei Workbench 2.1 oder höher (es wird der
  212. Screenmoderequester der asl.library benutzt).
  213.  
  214.  Abspeichern
  215.  -----------
  216. Der gewählte Bildschirmmodus wird im Icon abgespeichert.
  217.  
  218.  
  219. Optionen beim Start
  220. -------------------
  221. Über den Workbench-Menupunkt Information können dem Programm
  222. weitere Befehle erteilt werden. Das Programm kennt die folgenden
  223. Schlüsselworte:
  224.  
  225. [WIDTH : ] Hier kann die Breite des zu öffnenden Screens angegeben werden,
  226. z.B. WIDTH=640. Dies ist auch der Defaultwert.
  227. [HEIGHT : ] Hier wird entsprechend die Höhe angegeben. Default 256.
  228. [VIEW : ] Hier kann der gewünschte Darstellungsmodus angegeben werden.
  229. Dazu können sinnvolle Werte aus der Tabelle {VIEWS} addiert werden.
  230. Außerdem sollte man die passenden Chips haben, wenn man ECS-Modi wählt.
  231. So erhält man mit VIEW=32804 einen Superhires-Screen im Interlacemodus. Die
  232. Werte für Höhe und Breite sollte man dann entsprechend setzen.
  233. Bei Verwendung von Workbench 2.1 oder höher sollte der entsprechende
  234. Menupunkt benutzt werden.
  235.  
  236. Wird eine größere Breite angegeben als im gewählten Darstellungsmodus
  237. dargestellt werden kann, so kann der geöffnete Screen horizontal mit der Maus
  238. verschoben werden (so wie man Ihn sonst vertikal verschiebt). Wenn
  239. auf der Workbench Text-Overscann eingeschaltet ist, dann kann das
  240. Programm seinen Screen auch mit dieser maximalen Größe darstellen.
  241. Interessant sind auch die NTSC-Modi, da man hier eine höhere Bildwiederholfrequenz
  242. erhält.
  243.  
  244. {Einige Werte für ViewModes}
  245. NTSC_MONITOR_ID     69632
  246. PAL_MONITOR_ID      135168
  247. HIRES_KEY           32768
  248. SUPER_KEY           32800
  249. INTERLACE           4
  250. VGAPRODUCT_KEY      233508
  251. VGAPRODUCTLACE_KEY  233509
  252.  
  253. Die Angabe eines zu ladenen Gleichungssystems kann beim Start von der
  254. Workbench auch über die erweiterte Auswahl (Anklicken mit der Maus,
  255. SHIFT-Doppelklick auf das Programmicon) oder durch Doppelclick auf eine
  256. Datei geschehen, die als Default-Tool dieses Programm gesetzt hat
  257. (evt. mit Pfad). Wird mehr als eine Datei übergeben, so wird nur eine
  258. dieser Dateien bearbeitet, alle anderen werden ignoriert.
  259.  
  260. Speicherbedarf
  261. --------------
  262. Bei einem Gleichungssystem mit m-1 Variablen und n Gleichungen werden
  263. alleine für die eingegebenen Werte etwa m*n*8 Bytes gebraucht. Für
  264. die Verwaltung dieser Werte werden nochmals n*4 Bytes benötigt. Die
  265. gleiche Speichermenge wird nochmals gebraucht, um das System in Zeilenstufenform
  266. im Speicher zu halten. Zum Merken der Lösung werden nochmals (m-1)*m*8
  267. Bytes benötigt. Vor allem dieser Speicher kann mit Systemen mit großer
  268. Variablenzahl sehr schnell zu Speicherplatzproblemen führen.
  269. Dieser Speicher muß aber nicht zusammenhängend zur Verfügung
  270. stehen. Das Programm braucht so viel Speicher, um die Werte bei größeren
  271. Systemen schnell genug zur Verfügung zu stellen (man stelle sich ein
  272. System mit 100 Gleichungen und 100 Variablen vor, bei dem bei jeder
  273. Scrollaktion beim Anzeigen der Lösung diese komplett neu berechnet wird...).
  274. Normalgroße Systeme sollten aber auf jedem Amiga laufen.
  275.  
  276.  
  277. Meine Anschrift:
  278. ----------------
  279.  
  280. Wer Vorschläge, Fehlermeldungen oder Geld loswerden will, hier ist meine
  281. Adresse:
  282.  
  283.                 Rüdiger Dreier
  284.                 Gustav-Winkler-Str. 40
  285.           33699 Bielefeld 
  286.  
  287.  
  288. Bis auf weiteres bin ich auch per EMail erreichbar:
  289.  
  290. ruediger.dreier@dave.hrz.uni-bielefeld.de
  291.  
  292.  
  293.  
  294.  
  295.